package com.eagleframework.component.aop;


import com.eagle.util.log.LogLevel;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 基于AOP的日志输出
 *
 * <p>实现在方法添加注解的方式输出日志
 *
 * @author yaoxing
 * @see AopLogAspect
 * @since 0.0.1
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AopLog {
    /**
     * @return 要输出的日志文本
     */
    String value() default "=============AOP-LOG===========";
    
    /**
     * @return 为日志输出的等级，只支持INFO,DEBUG,WARN,ERROR
     */
    LogLevel level() default LogLevel.INFO;
}
